我很努力去摆脱张志明,最后我发现…我成了另一个张志明。 ——《春娇与志明》
要关注web server的安全,一般是关注2点:
- web server本身是否安全
- web server是否提供了可使用的安全功能
Apache安全
- 以下的Apache均指Apache Httpd
- 纵观Apache的漏洞使,Apache的核心和默认开启的module几乎没有漏洞,漏洞集中在默认没有安装或enable的module上
- 所以,检查Apache安全,第一件事就是检查Apache的安装情况,根据“最小权限原则”,应尽可能地减少不必要的module,对于要使用的module,应检查其对应版本是否存在已知的安全漏洞
- 检查完module之后,要指定Apache进程以一个单独的用户身份来运行,也就是给Apache单独建立一个user/group
- Apache里有很多对抗DDOS的参数,聊胜于无
- 要保护好Apache Log,一般hacker入侵后,要做的第一件事就是清除入侵痕迹,修改删除日志文件。因此要妥善保存access log,例如实时地发送到远程的syslog服务器上
Apache以root或admin身份运行的坏处
注:admin指服务器管理员在管理机器时使用的身份
- 如果黑客入侵成功,直接获得了一个高权限的shell
- 应用程序本身会有更高的权限,当出现bug时,可能会有意想不到的后果,例如删除了服务器的重要文件
Nginx安全
- Nginx要关注软件本身的安全,及时升级软件版本
- Nginx也要以单独的user来运行
- Nginx也有一些对抗DDOS和CC攻击的配置
jBoss远程命令执行
- jBoss是J2EE环境中的一个流行的web容器
- jBoss在默认安装时,会有不一个管理平台叫JMX- Console,用来给管理员一些强大的功能,但在默认安装时访问JMX-Console是不需要认证的
- 所以hacker可以通过8080端口访问
/jmx-console
进入管理界面,从而配置MBeans、通过DeploymentScanner远程加载一个war包等
Tomcat远程命令执行
- Apache Tomcat域jBoss一样,默认会在8080端口运行
- Tomcat提供的Tomcat Manager的作用和JMX-Console类似
- hacker一旦用暴力破解攻占了这个平台就可以进行上传war包等危险操作
HPP攻击
如果在GET或POST请求中,提交2个相同的参数,例如:
1 | /?a=test&a=test1 |
在某些服务器中,会取第一个参数,在另外的一些环境中,比如.net环境中,则会变成:
1 | a=test,test1 |
本文作者:
Bano
本文链接: https://bano247.com/2021/11/07/Web Server配置安全/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
本文链接: https://bano247.com/2021/11/07/Web Server配置安全/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
![知识共享许可协议](/img/1.png)